const path = require('path')
// 引入等比适配插件
const px2rem = require('postcss-px2rem')
// 配置基本大小
const postcss = px2rem({
 // 基准大小 baseSize，需要和rem.js中相同
 remUnit: 16
})
const webpack = require('webpack')

module.exports = {
    publicPath: './', // 基本路径
    outputDir: 'dist', // 输出文件目录
    lintOnSave: false, // eslint-loader 是否在保存的时候检查
    pluginOptions: {
        'style-resources-loader': {
          preProcessor: 'scss',
          patterns: [
            path.resolve(__dirname,'./src/assets/scss/_mixin.scss')
         ]
       }
    },
    //修改ico
    pwa: {
        iconPaths: {
            favicon32: 'favicon.ico',
            favicon16: 'favicon.ico',
            appleTouchIcon: 'favicon.ico',
            maskIcon: 'favicon.ico',
            msTileImage: 'favicon.ico'
        }
    },
    //代理
    devServer: {
        proxy: {
            '/api': {
                // target: 'http://192.168.8.121',
                target: 'https://echarts.apache.org/examples/vendors/echarts/map/json/province',
                changeOrigin: true,
                pathRewrite: { 
                    '^/api': ''
                }
            }
        },
    },
    configureWebpack: {
        //支持jquery
        plugins: [
            new webpack.ProvidePlugin({
                $:"jquery",
                jQuery:"jquery",
                jquery:"jquery",
                "windows.jQuery":"jquery"
            })
        ],
        resolve: {
            alias: {
                '@': path.resolve(__dirname, './src'),
                '@a': path.resolve(__dirname, './src/assets'),
                '@c': path.resolve(__dirname, './src/components'),
                '@v': path.resolve(__dirname, './src/views')
            } // 别名配置
        },
        devtool : 'source-map',
    },
    // configureWebpack: (config) => {
    //     if (process.env.NODE_ENV === 'production' ) {
    //         // 为生产环境修改配置...
    //         config.mode = 'production'
    //     } else {
    //         // 为开发环境修改配置...
    //         config.mode = 'development'
    //     }
    //     Object.assign(config, {
    //         // 开发生产共同配置
    //         resolve: {
    //             alias: {
    //                 '@': path.resolve(__dirname, './src'),
    //                 '@a': path.resolve(__dirname, './src/assets'),
    //                 '@c': path.resolve(__dirname, './src/components'),
    //                 '@v': path.resolve(__dirname, './src/views')
    //             } // 别名配置
    //         }
    //     })
    // },
    productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
    css: {
        loaderOptions: {
            postcss: {
                plugins: [
                    postcss
                ]
            }
        }
    },
}
